
// 新建一个电影评论  路由模块
let express = require('express');
let router = express.Router();  //路由模块 


var {
    checkSession,
    dateformat
} = require('../utils');  //导入判断用户登录状态的模块

var {
    Mv,
    Uid,
    Comment
} = require('../utils/model'); //操作数据库模板


//测试
router.get('/',(req,res)=>{
    res.send('The is a movie conment module...');
});

// 显示--电影详情页
router.get('/index',(req,res)=>{
    var {
        mid
    } = req.query; //接收前端传来的数据
    
    checkSession(req,res,()=>{ //用户登录状态
        Mv.findOne({
            id:mid
        }).then(result=>{
            res.render('comment',{result});
        });
    });
});


// 插入评论
router.post('/submit',(req,res)=>{
    let body = req.body;//获取前端post传来的数据
    var {
        mid
    } = req.query; //获取前端地址栏的数据
    
    checkSession(req,res,()=>{   //用户为--登录状态
        Mv.findOne({
            id:mid
        }).then(movie=>{
            Uid.updateMany({  //修改id--通过uid表自增id
                name:"comment"
            },{
                $inc:{//id自增 1
                    id:1
                }
            }).then(data=>{
                Uid.findOne({
                    name:"comment"
                }).then(obj=>{
                    body.id = obj.id; //自增过后的id赋给comment表
                    body.time = dateformat();
                    body.username = req.session.username;
                    body.mid = mid;
                    body.mtitle = movie.title;
                    body.mpic = movie.images.large;
                    //插入评论 
                    Comment.insertMany(body)
                    .then(result=>{
                        // res.send('评论成功。。。');
                        // 重定向到评论页面
                        res.redirect('/comment/mlist');
                    }) 
                })
            })
        })
    }); 
});

// 电影评论列表
router.get('/mlist',(req,res)=>{
    checkSession(req,res,()=>{//用户登录状态
        let query = req.query; //获取前端传来的值
        var pageNo = query.pageNo * 1 || 1; // 当前页码，默认：1
        var pageSize = query.pageSize * 1 || 8; //每页显示条数，默认为 5
        var total = 0; //总条数
        var totalPage = 0; //总页码

        Comment.find().then(result=>{
            if(result.length > 0){
                total = result.length;//总条数
                totalPage = Math.ceil(total/pageSize); // 总页码，向上取整
                pageNo = pageNo<=1?1:pageNo;   //页码过滤小于1
                pageNo = pageNo>=totalPage?totalPage:pageNo;   //页码过滤大于总页码
            }
            Comment.find()
            .sort({_id:-1})
            .skip((pageNo - 1)* pageSize)   //跳过每页的数量
            .limit(pageSize)          //只查询每页该有的数量
            .then(data=>{
                res.render('mlist',{
                    username:req.session.username,
                    result:data,
                    pageNo,
                    pageSize,
                    total,
                    totalPage
                })
            })
        })

        // Comment.find({},{}) //查询电影评论数据
        // .sort({_id:-1})
        // .then(result=>{
        //     res.render('mlist',{result,username:req.session.username});
        // })
    });
});

// 删除评论
router.get('/delete',(req,res)=>{
    checkSession(req,res,()=>{  //用户登录状态
        let {
            _id
        } = req.query;//获取前端传来的id

        Comment.deleteMany({
            _id:_id
        }).then(result=>{
            res.json({
                msg:"删除评论成功",
                code:200,
                result
            })
        })
    });
});


// 修改评论  post
router.post('/update',(req,res)=>{
    let body = req.body; //接收前端传来的值
    console.log(body);

    Comment.updateMany({  //修改数据 
        _id:body._id
    },{
        $set:{
            title:body.title,
            content:body.content
        }
    }).then(result=>{
        res.json({
            msg:"评论修改成功",
            code:200,
            type:1,
            result
        })
    })
});

// 显示用户或电影的所有评论
router.get('/allcomment',(req,res)=>{
    let query = req.query;//获取前端传来的数据
    let flage = true;  //渲染页面内容开关

    checkSession(req,res,()=>{  //用户登录状态
        if(query.mtitle){ //查看该电影的所有的评论
            flage = true;
            Comment.find({
                mtitle:query.mtitle
            }).then(result=>{
                res.render('allcomment',{result,flage});
            })
        }else{//查看该用户的所有评论
            flage = false;
            Comment.find({
                username:query.username
            }).then(result=>{
                console.log(result);
                
                res.render('allcomment',{result,flage});
            })
        }
    })
})





// 暴露模块
module.exports = router;
